PHP常見的開發環境縮寫有 LAMP、MNMP等說法。
這些縮寫分別代表
作業系統
看開發者/公司提供什麼電腦設備,
個人使用MBPR,因此相關檔案配置/終端機指令會以MacOS為主。
網頁伺服器
Apache跟Nginx 各有優勢,網路上有許多優缺評論文章,再此不詳列。
這次鐵人賽規劃在本地端開發使用Apache 、遠端開發使用Nginx。
資料庫管理系統
採用MySQL,GUI 推薦軟體為Sequal Pro。
編程語言
採用PHP,並以Laravel為主要開發框架
這四個關鍵字彼此的關係是什麼? 可以從一段文字跟一張圖來解釋:
A three-tier architecture where a web browser requests a resource, and a response is generated from a database
圖片來源:Web Database Applications with PHP and MySQL, 2nd Edition by Hugh E. Williams, David Lane
web 送出 request給 web server ,web server去找 database server取得資料後repsonse回傳給web。
因此就一個新手後端工程師需要理解 web server有哪些種類?database用什麼管理?web server 怎麼跟 database溝通?
因此,我選擇在MacOS上採用Apache,資料庫採用MySQL,兩者溝通語言選擇PHP。
mac 雖然有內建 Apache ,在 macOS 10.14 之後會缺少某些無法順利執行 PHP 的套件,因此建議先移除原本內建的Apache,改用 homebrew 安裝 PHP 、 MySQL及其所需的各種擴充套件。
Homebrew 的官網有相當完整的安裝教學,在此不重述。
//step1 停止內建Apache
sudo apachectl stop
sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
//step2 透過brew在macOS安裝Apache
$ brew install httpd
//step3
sudo apachectl -k start
sudo brew services start httpd
//step4 確認版本
httpd -v
1.使用homebrew安裝
//先確保brew是最新版本的
brew update
//通常內建會有PHP,可以先確認版本號
brew upgrade php
//也可指定版本號進行安裝
brew install php@7.4
//最後確認版本號
php -v
2. 測試運作狀態
透過Apache設定檔,找到 root folder,建立測試網頁index2.php
測試 127.0.0.1:80/index2.php 有沒有網頁
1.確認版本號
找不到版本號就用homebrew安裝
brew install mysql
2.進入MySQL
mysql -u root -p
確定能進入mysql後,建議先了解基本的資料庫CRUD操作,可以透過前一篇dbdiagram export 快速建立練習環境。
brew services list
參考資料
https://www.oreilly.com/library/view/web-database-applications/0596005431/ch01.html
http://epaper.gotop.com.tw/PDFSample/AED002100.pdf
https://medium.com/@hugh_Program_learning_diary_Js/%E5%BE%8C%E7%AB%AF%E5%9F%BA%E7%A4%8E%E6%A6%82%E5%BF%B5-8643ca1f5315
https://docs.macstadium.com/docs/install-apache-mysql-and-php-using-homebrew
https://github.com/liip/php-osx/issues/249
http://mt116.blogspot.com/2019/12/homebrew-php.html
https://my.oschina.net/u/1440971/blog/3076754
https://myapollo.com.tw/zh-tw/polly-install-mysql-using-homebrew/